The present invention relates generally to signal processing and, more particularly to automatic generation of wavelets used for representing signals.
In many different environments, signals may be monitored and analyzed to obtain information about the source of the signal. For example in one environment, electrodes of an electrocardiogram system may be positioned on a patient""s body to sense and amplify electrocardiographic (ECG) signals originating from the patient""s heart. The electrocardiogram system may record the monitored ECG signal for future analysis. A doctor using a signal analyzer may later retrieve the recorded ECG signals in order to obtain information about the condition of the patient""s heart.
In another environment, a vibration sensor of a signal monitor may be positioned upon an operating automotive transmission to generate vibration signals that are indicative of the mechanical vibrations the transmission is experiencing during operation. Similar to the above ECG signals, the signal monitor may record the monitored vibration signals for future analysis. A technician using a signal analyzer may later analyze the recorded vibrations signals in order to determine whether the transmission has a mechanical defect.
In yet another environment, a vibration sensor of a signal monitor may be positioned to sense seismic vibrations that are indicative of geological phenomenon. Yet again, the signal monitor may record the monitored vibration signals for future analysis, and a researcher using a signal analyzer may later analyze the recorded vibrations signals.
In each of these environments, the monitored signals are recorded for future analysis. Typically, these signals are digitized to obtain a series of digital samples and the series of digital samples are stored. As a result of the digitization process, several thousand bytes of data a second may be generated in order to obtain a digital representation of the monitored signals. Accordingly, recording of the monitored signals for extended periods of times (e.g. days, months, years) can quickly become a problem due to the sheer number of digit samples that must be stored in order to accurately record the monitored signals.
In order to reduce the amount of data needed to accurately store signals, wavelet families have been defined. In particular, a wavelet family includes several wavelets that each define a time-varying signal over a period of time (e.g. a signal that varies in amplitude with respect to time over a period of 1 second). The wavelets of the wavelet family may be scaled in both the amplitude and time dimensions and combined to represent a signal. As a result, in order to store the monitored signals accurately, all that needs to be stored is the scaling components and the selection of wavelets over time. If the wavelet family is properly defined, then much less information needs to be stored than would be required to store the digital samples of the digitized signal.
Many well known wavelet families have been defined. In general, each wavelet family accurately and efficiently (i.e. requiring less bytes than directly storing digital samples of the signal) represents signals of a first type but does not represent signals of a second type as accurately or as efficiently. For example, a wavelet family defined for representing ECG signals may not be nearly as efficient in representing seismic signals.
As stated above, many wavelet families have been defined, and certain wavelet families are known to accurately and efficiently represent certain types of signals. Accordingly, a technician may configure a signal monitor to use an already defined wavelet family that is known to accurately and efficiently represent the types of signals being monitored by the signal monitored. Alternatively, a technician may repetitively configure the signal monitor with defined wavelet families until a suitable wavelet family for the signals being monitored is found.
A disadvantage of the above signal monitors is that a technician may need to try several wavelet families before a suitable wavelet family is found. This iterative configuring process may be quite time consuming. Moreover, there is no guarantee that a known wavelet family will accurately and efficiently represent the signal at hand.
Another disadvantage of the above signal monitors is that the signal being monitored may change enough over time that a wavelet family that once accurately and efficiently represented the monitored signal, no longer accurately and efficiently represents the monitored signal. Accordingly, a technician may be required to reconfigure the signal monitor with another wavelet family.
What is needed, therefore, is a method and apparatus that automatically define a plurality of wavelets to accurately and efficiently represent a monitored signal.
In accordance with one embodiment of the present invention, there is provided a method for defining wavelets that represent a first signal. The method includes the step of generating a first frequency band signal representative of a first frequency band of the first signal. The method also includes the step of generating a second frequency band signal representative of a second frequency band of the first signal. Another step of the method includes defining a first wavelet of the wavelets to represent the first frequency band signal. Yet another step of the method includes defining a second wavelet of the wavelets to represent the second frequency band signal.
Pursuant to another embodiment of the present invention, there is provided a wavelet generator for defining wavelets that represent a first signal. The wavelet generator includes a processor and a memory. The memory has stored therein instructions which when executed by the processor cause the processor to (i) generate a first frequency band signal representative of a first frequency band of the first signal, and (ii) generate a second frequency band signal representative of a second frequency band of the first signal. The instructions stored in the memory when executed by the processor also cause the processor to (iii) define a first wavelet of the wavelets to represent the first frequency band signal, and (iv) define a second wavelet of the wavelets to represent the second frequency band signal.
Pursuant to yet another embodiment of the present invention, there is provided a wavelet generator for defining wavelets that represent a first signal. The wavelet generator includes a programmable filter bank, a frequency band controller coupled to the programmable filter bank, and a wavelet constructor coupled to the programmable filter bank. The programmable filter bank is operable to receive the first signal, and filter the first signal based upon a plurality of frequency bands to obtain a plurality of frequency band signals that each represent a frequency band of the first signal. The frequency band controller is also operable to receive the first signal. Moreover, the frequency band controller is further operable to obtain the plurality of frequency bands from the first signal, and program the programmable filter bank with the plurality of frequency bands. The wavelet constructor is operable to receive the plurality of frequency band signals. The wavelet constructor is further operable to generate a separate wavelet for each of the plurality of frequency band signals.
It is an object of the present invention to provide a new method and apparatus for representing signals.
It is an object of the present invention to provide an improved method and apparatus for representing signals.
It is yet another object of the present invention to provide a method and apparatus that automatically define wavelets for representing signals.
It is still another object of the present invention to provide a method and apparatus that define wavelets for accurately representing signals.
Yet another object of the present invention is to provide a method and apparatus for defining wavelets that efficiently represent signals.